package com.example.archive.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.example.archive.entity.PhysicalArchiveRetrievalRequest;
import com.example.archive.util.PageParam;
import com.example.archive.util.Result;

public interface PhysicalArchiveRetrievalRequestService {
    
    /**
     * 提交纸质档案调取申请
     */
    Result<String> submitRequest(PhysicalArchiveRetrievalRequest request);
    
    /**
     * 分页查询申请列表
     */
    Result<IPage<PhysicalArchiveRetrievalRequest>> listRequests(PageParam pageParam, Integer userId, String userRole, String status);
    
    /**
     * 审批申请
     */
    Result<String> approveRequest(Integer requestId, String status, String notes, Integer approverId);
    
    /**
     * 获取申请详情
     */
    Result<PhysicalArchiveRetrievalRequest> getRequestDetail(Integer requestId);
    
    /**
     * 确认档案调取
     */
    Result<String> confirmRetrieval(Integer requestId);
    
    /**
     * 确认档案归还
     */
    Result<String> confirmReturn(Integer requestId);
} 